The present invention relates to a method and apparatus for self configuration of a customer premises telecommunications hub, and more particularly to a method of automatically detecting microprocessor clock frequency.
Traditionally, telephony communications within the United States were handled by the public switched telecommunications network (PSTN). The PSTN can be characterized as a network designed for voice communications, primarily on a circuit-switched basis, with full interconnection among individual networks. The PSTN network is largely analog at the local loop level, digital at the backbone level, and generally provisioned on a wireline, rather than a wireless, basis. The PSTN includes switches that route communications between end users. Circuit switches are the devices that establish connectivity between circuits through an internal switching matrix. Circuit switches set connections between circuits through the establishment of a talk path or transmission path. The connection and the associated bandwidth are provided temporarily, continuously, and exclusively for the duration of the session, or call. While developed to support voice communications, circuit switches can support any form of information transfer (e.g., data and video communications).
In a traditional PSTN environment, circuit switches include central office (CO) exchanges, tandem exchanges, access tandem exchanges, and international gateway facilities. Central offices, also known as exchanges, provide local access services to end users via local loop connections within a relatively small area of geography known as an exchange area. In other words, the CO provides the ability for a subscriber within that neighborhood to connect to another subscriber within that neighborhood. Central offices, also known as end offices, reside at the terminal ends of the network. In other words, COs are the first point of entry into the PSTN and the last point of exit. They are also known as class 5 offices, the lowest class in the switching hierarchy. A class 5 telephone switch communicates with an analog telephone using the analog telephony signals in the well-known analog format. The class 5 telephone switch provides power to the telephone; detects off-hook status of the telephone and provides a dial tone in response; detects dual-tone multi-frequency signals from the caller and initiates a call in the network; plays a ringback tone to the caller when the far-end telephone is ringing; plays a busy tone to the caller when the far-end telephone is busy; provides ring current to the telephone on incoming calls; and provides traditional telephone services such as call waiting, call forwarding, caller ID, etc.
In an effort to increase the amount and speed of information transmitted across networks, the telecommunications industry is shifting toward broadband packet networks which are designed to carry a variety of services such as voice, data, and video. For example, asynchronous transfer mode (ATM) networks have been developed to provide broadband transport and switching capability between local area networks (LANs) and wide area networks (WANs). The Sprint integrated on-demand network, ION, is a broadband network that is capable of delivering a variety of services such as voice, data, and video to an end user at a residential or business location. The Sprint ION network has a wide area IP/ATM or ATM backbone that is connected to a plurality of local loops via multiplexors. Each local loop carries ATM over ADSL (asymmetric digital subscriber line) traffic to and from a plurality of integrated service hubs (ISHs), which may be at either residential or business locations.
An ISH is a hardware component that links business or residential user devices such as telephones and computers to the broadband, wide area network through a plurality of user interfaces and at least one network interface. A suitable ISH is described in U.S. patent application Ser. No. 09/226,575 entitled xe2x80x9cMulti-Services Communications Device,xe2x80x9d filed on Jan.7, 1999 (Sprint docket number 1246), which is incorporated by reference herein in its entirety. The network interface typically is a broadband network interface such as ADSL, T1, or HDSL-2. Examples of user interfaces include telephone interfaces such as plain old telephone system (POTS) ports for connecting telephones, fax machines, modems, and the like to the ISH; computer interfaces such as Ethernet ports for connecting computers and local area networks to the ISH; and video ports such as RCA jacks for connecting video players, recorders, monitors, and the like to the ISH.
In providing telephony services over a broadband network, the ISH communicates with a service manager. This connection between the telephone and the network element is typically an ATM connection, which is much different than the traditional analog line to the local switch. ATM connections usually do not support analog telephony signals, such as off-hook, dial tone, and busy signals. Therefore, the ISH must provide many of the telephony functions traditionally provided by the telephone provider central office such as detect off-hook conditions, on-hook connections, and digits as well as provide the telephones with dial tone, ring voltage (sometimes referred to as ring current), ringback, and busy signals. The terms off-hook and off-hook condition as used herein are generic terms meaning that a user device (whether telephone, facsimile machine, modem, etc.) connected to a telephone line is attempting to access and use the line.
The ISH includes a processing core or central processing unit, CPU, which controls these functions. It must exchange data with numerous peripheral devices within and external to the ISH itself. Many of these control functions require the setting of times for various functions to occur, such as the ringing cycle or busy signal of a telephone, timeout periods for responses from requests sent over the Internet, and baud rate generators. These time periods are controlled by the control software and counters which count the number of CPU clock cycles as a time reference. However not all processors operate at the same clock speed. As improvements are made, processor speed has increased dramatically and can be expected to continue to increase. When manufacturing large numbers of telecommunication hubs, economic considerations may dictate use of different CPU chips with various clock speeds at different times. That is, the ISH hardware units are not identical and will have a variety of CPU clock speeds. The control software which runs in the CPU to control the ISH needs to xe2x80x9cknowxe2x80x9d what the clock speed is in order to properly set the various timing of ISH functions. It is not practical to write separate control software for the CPU clock speed of each ISH. The clock speed is not known until the ISH is installed in a customer premises, such as a private residence. It is not practical to expect or require individual customers to know how to set clock speed, e.g. by setting a dipswitch, of the ISH after it is physically installed. It would be quite expensive to have a trained service technician visit each residence for loading the necessary setting or change the software. There is a need for a method for automatically detecting and setting a clock speed parameter in an ISH when it is installed and powered up.
The present invention provides a method for operating an integrated services hub so that upon powering up or resetting, it automatically determines CPU clock speed and sets a parameter so that control software can provide correct timing signals to the ISH. The CPU counts a fixed number of cycles of a reference clock having a known frequency. At the same time, it counts the number of the CPU clock cycles. The CPU then calculates its clock frequency by multiplying the reference clock frequency by the ratio of the number of CPU clock cycles counted to the number of reference clock cycles counted. The calculated clock frequency is then stored as a variable used by the control software to set required absolute time periods.